
import os,time,unittest,HTMLTestRunner

class test_class(unittest.TestCase):
    # 编写单元测试时，我们需要编写一个测试类，从unittest.TestCase继承。以test开头的方法就是测试方法，不以test开头的方法不被认为是测试方法，测试的时候不会被执行。
    def setUp(self):
        pass
    def test_add1(self):
        self.assertEqual(2 + 3 + 10,15)
    def test_add2(self):
        self.assertEqual(10 + 150,160)
    def test_add3(self):
        #一处出错，查看测试结果
        self.assertEqual(2 * 5 * 7, 40)
    def tearDown(self):
        pass
def pack_test_moudle():
    
    test_object=unittest.TestSuite()
    # 将unittest实例化,命名为test_object
    
    test_object.addTest(test_class("test_add1"))
    test_object.addTest(test_class("test_add2"))
    test_object.addTest(test_class("test_add3"))
    #将test_class类中所有方法添加到test_object
    return test_object
    #并返回对象

if __name__=="__main__":
#    定义存放路径并打开
   file_path=os.path.dirname(__file__) + "\\test_runner_result.html"
   print(file_path)
   time.sleep(5)
   fp=open(file_path,'wb') 
#   这里有个坑,去改HTMLtestrunner.py 631行

   #定义测试报告的标题与描述
   runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title="my_test_title",description="my_test_description")
   #生成一个对象,stream传入文件地址,title定义标题,description定义文件描述.
   
   runner.run(pack_test_moudle())
   #使用run()方法执行
   
   
   fp.close()
   #关闭打开的文件